/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.mzk.oai.metadataRepository.repository.records.presentAndDeleted;

import cz.mzk.oai.metadataRepository.metadata.DateStamp;
import cz.mzk.oai.metadataRepository.metadata.MetadataFormat;
import cz.mzk.oai.metadataRepository.repository.Identifier;
import cz.mzk.oai.metadataRepository.repository.records.Record;
import java.io.IOException;
import java.util.List;

/**
 *
 * @author Martin Řehánek (rehan at mzk.cz)
 */
public interface RecordsManager {

    
    public void createRecord(Identifier identifier, MetadataFormat metadataFormat) throws IOException;

    public Record getRecord(Identifier identifier, MetadataFormat format);

    public List<Record> getRecords(MetadataFormat format, DateStamp from, DateStamp until);

    public boolean contains(Identifier id, MetadataFormat metadataFormat);

    public void deleteRecord(Identifier identifier, MetadataFormat metadataFormat) throws IOException;
    
}
